/**
 * <pre>
 * Title: 		ServiceFactoryImpl.java
 * Author:		linriqing
 * Create:	 	2012-3-9 下午04:23:08
 * Copyright: 	Copyright (c) 2012
 * Company:		Shenzhen Helper
 * <pre>
 */
package com.hengpeng.itfinoss.service.impl;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;

import com.hengpeng.itfinoss.service.AppUserService;
import com.hengpeng.itfinoss.service.LinksService;
import com.hengpeng.itfinoss.service.MessageService;
import com.hengpeng.itfinoss.service.OperateLogService;
import com.hengpeng.itfinoss.service.PersistService;
import com.hengpeng.itfinoss.service.RemoteService;
import com.hengpeng.itfinoss.service.SequenceService;
import com.hengpeng.itfinoss.service.ServiceFactory;
import com.hengpeng.itfinoss.service.SystemJobService;
import com.hengpeng.itfinoss.service.activity.ActivityService;
import com.hengpeng.itfinoss.service.article.ArticleCategorySerivce;
import com.hengpeng.itfinoss.service.article.ArticleGroupSerivce;
import com.hengpeng.itfinoss.service.article.ArticleService;
import com.hengpeng.itfinoss.service.bankproduct.BankProductService;
import com.hengpeng.itfinoss.service.borrowInfo.BorrowInfoService;
import com.hengpeng.itfinoss.service.fund.AccountLogService;
import com.hengpeng.itfinoss.service.fund.AccountService;
import com.hengpeng.itfinoss.service.fund.PaymentService;
import com.hengpeng.itfinoss.service.fund.TransferService;
import com.hengpeng.itfinoss.service.investInfo.InvestInfoService;
import com.hengpeng.itfinoss.service.notice.ProjectService;
import com.hengpeng.itfinoss.service.repayment.RepaymentService;
import com.hengpeng.itfinoss.service.reward.RewardService;
import com.hengpeng.itfinoss.service.stm.CommentService;
import com.hengpeng.itfinoss.service.stm.EmailLogService;
import com.hengpeng.itfinoss.service.stm.PartnerService;
import com.hengpeng.itfinoss.service.stm.SmsService;
import com.hengpeng.itfinoss.service.stm.SystemConfigService;
import com.hengpeng.itfinoss.service.user.UserInfoService;
import com.hengpeng.itfinoss.service.userLevelSet.UserLevelSetSrervice;
import com.hengpeng.itfinoss.service.userTypeApply.UserTypeApplyService;

/**
 * <pre>
 * 服务工厂接口实现
 * </pre>
 * 
 * @author linriqing
 * @version 1.0, 2012-3-9
 */
@Service
public class ServiceFactoryImpl implements ServiceFactory {
    @Autowired
    @Qualifier("remotePersistServiceImpl")
    private PersistService persistServcie;

    @Autowired
    private RemoteService remoteService;

    @Autowired
    private RestTemplate restTemplate;

    @Autowired
    private AppUserService appUserService;

    @Autowired
    private OperateLogService operateLogService;

    @Autowired
    private SystemConfigService systemConfigService;

    @Autowired
    @Qualifier("OSSSystemJobServiceImpl")
    private SystemJobService systemJobService;

    @Autowired
    private PartnerService partnerService;

    @Autowired
    private MessageService messageService;

    @Autowired
    private LinksService linksService;

    @Autowired
    private EmailLogService emailLogService;

    @Autowired
    private SmsService smsLogService;

    @Autowired
    private CommentService commentService;

    @Autowired
    private SmsService smsService;

    @Autowired
    private BorrowInfoService borrowInfoService;

    @Autowired
    private RepaymentService repaymentService;

    @Autowired
    private InvestInfoService investInfoService;

    @Autowired
    @Qualifier(SequenceService.CONTEXT_BEAN_NAME_SEQUENCESERVICE)
    private SequenceService sequenceService;

    @Autowired
    private UserInfoService userInfoService;

    @Autowired
    private AccountService accountService;

    @Autowired
    private AccountLogService accountLogService;

    @Autowired
    private PaymentService paymentService;

    @Autowired
    private ActivityService activityService;

    @Autowired
    private TransferService transferService;

    @Autowired
    private ArticleService articleService;

    @Autowired
    private ArticleCategorySerivce articleCategorySerivce;

    @Autowired
    private ArticleGroupSerivce articleGroupSerivce;

    @Autowired
    private BankProductService bankProductService;

    @Autowired
    private ProjectService projectService;

    @Autowired
    private RewardService rewardService;

    @Autowired
    private UserTypeApplyService userTypeApplyService;

    @Autowired
    private UserLevelSetSrervice userLevelSetSrervice;

    @Override
    public BankProductService getBankProductService() {
        return bankProductService;
    }

    @Override
    public ProjectService getProjectService() {
        return projectService;
    }

    @Override
    public ArticleService getArticleService() {
        return articleService;
    }

    @Override
    public ArticleCategorySerivce getArticleCategorySerivce() {
        return articleCategorySerivce;
    }

    @Override
    public ArticleGroupSerivce getArticleGroupSerivce() {
        return articleGroupSerivce;
    }

    @Override
    public UserInfoService getUserInfoService() {
        return userInfoService;
    }

    @Override
    public BorrowInfoService getBorrowInfoService() {
        return borrowInfoService;
    }

    public SmsService getSmsService() {
        return smsService;
    }

    public PersistService getPersistServcie() {
        return persistServcie;
    }

    @Override
    public PersistService getPersistService() {
        return persistServcie;
    }

    @Override
    public RestTemplate getRestTemplate() {
        return restTemplate;
    }

    @Override
    public AppUserService getAppUserService() {
        return appUserService;
    }

    @Override
    public OperateLogService getOperateLogService() {
        return operateLogService;
    }

    @Override
    public SystemConfigService getSystemConfigService() {
        return systemConfigService;
    }

    @Override
    public SystemJobService getSystemJobService() {
        return systemJobService;
    }

    @Override
    public PartnerService getPartnerService() {
        return partnerService;
    }

    @Override
    public MessageService getMessageService() {
        return messageService;
    }

    @Override
    public RemoteService getRemoteService() {
        return remoteService;
    }

    @Override
    public EmailLogService getEmailLogService() {
        return emailLogService;
    }

    @Override
    public SmsService getSmsLogService() {
        return smsLogService;
    }

    @Override
    public CommentService getCommentService() {
        return commentService;
    }

    @Override
    public LinksService getLinksService() {
        return linksService;
    }

    @Override
    public RepaymentService getRepaymentService() {
        return repaymentService;
    }

    @Override
    public InvestInfoService getInvestInfoService() {
        return investInfoService;
    }

    @Override
    public SequenceService getSequenceService() {
        return sequenceService;
    }

    @Override
    public AccountService getAccountService() {
        return accountService;
    }

    @Override
    public AccountLogService getAccountLogService() {
        return accountLogService;
    }

    @Override
    public TransferService getTransferService() {
        return transferService;
    }

    @Override
    public PaymentService getPaymentService() {
        return paymentService;
    }

    @Override
    public ActivityService getActivityService() {
        return activityService;
    }

    @Override
    public RewardService getRewardService() {
        return rewardService;
    }

    @Override
    public UserTypeApplyService getUserTypeApplyService() {
        return userTypeApplyService;
    }

    @Override
    public UserLevelSetSrervice getUserLevelSetSrervice() {
        return userLevelSetSrervice;
    }

}
